In computer science and mathematics, the term full employment theorem has been used to refer to a theorem showing that no algorithm can optimally perform a particular task done by some class of professionals. The name arises because such a theorem ensures that there is endless scope to keep discovering new techniques to improve the way at least some specific task is done. For example, the full employment theorem for compiler writers states that there is no such thing as a provably perfect size-optimizing compiler, as such a proof for the compiler would have to detect non-terminating computations and reduce them to a one-instruction infinite loop. Thus, the existence of a provably perfect size-optimizing compiler would imply a solution to the halting problem, which cannot exist, making the proof itself an undecidable problem. This also implies that there may always a better compiler since the proof that you've got the best compiler cannot exist. Therefore, compiler writers will always be able to speculate that they have something to improve. Similarly, Gödel's incompleteness theorems have been called full employment theorems for mathematicians. In theoretical computer science this field of study is known as Kolmogorov complexity, or the smallest program which outputs a given string.
Less formally, combative tasks such as virus writing and detection, and spam filtering and filter-breaking appear to be candidates for full employment.